#ifndef ENTITY_H
#define ENTITY_H

#include <QPoint>
#include <QVector2D>

class Entity
{
  public:
    explicit Entity(const QPoint& position);
    virtual ~Entity();
    void move(const QVector2D& direction);
    void setPosition(const QPoint& newPosition);
    const QPoint& position() const;

    bool operator ==(const Entity& rhs) const;

  protected:
    static long long cNextID;
    QPoint mPosition;
    long long mID;
};

#endif // ENTITY_H
